/** \brief File declaring a simple grid made of diamonds for the game of life.
 *
 * This file contains the declaration of a class implementing a simple grid for
 * the game of life, where the cells are diamonds.
 *
 * @file DiamondGrid.hpp
 * @author Johan "Solo" Luisier
 * @date 2013/09/03
 */
#ifndef DIAMONDGRID_HPP
#define DIAMONDGRID_HPP

#include "GridBase.hpp"


/** @brief The DiamondGrid class
 *
 *
 * @author Johan "Solo" Luisier
 * @date 2013/08/24
 */
class DiamondGrid : public GridBase
{
public:
    DiamondGrid( const quint32& w, const quint32& h,
                 QObject* parent = 0 );
    ~DiamondGrid();

    inline const quint32& maxNeighbourNumber() const { return MaxNeighbourNumber; }

private:
    bool initialiseNeighbours();
    /** @brief Maximal number of neighbours for a Cell instance.
     */
    static const quint32 MaxNeighbourNumber;
};

#endif // DIAMONDGRID_HPP
